package com.coffee.sku.api.sku.service;

import com.coffee.core.entity.Page;
import com.coffee.core.entity.PagerInfo;
import com.coffee.core.exception.BusinessException;
import com.coffee.sku.api.sku.query.RecommendSkuQuery;
import com.coffee.sku.api.sku.req.MerchantSkuListReq;
import com.coffee.sku.api.sku.req.SkuListReq;
import com.coffee.sku.api.sku.result.MerchantSkuListResult;
import com.coffee.sku.api.sku.result.RecommendSkuResult;
import com.coffee.sku.api.sku.result.SkuListResult;

import java.util.List;
import java.util.Map;
import java.util.Set;


public interface RecommendSkuService {

    Page<RecommendSkuResult> getPager(RecommendSkuQuery param, PagerInfo pr);

    Integer count(RecommendSkuQuery param);

    RecommendSkuResult getDetail(Integer id);

    List<RecommendSkuResult> getList(RecommendSkuQuery param, PagerInfo pr);

    public List<SkuListResult> getList(SkuListReq param);

    List<RecommendSkuResult> getList();

    List<MerchantSkuListResult> getMerchantSkuListResult(MerchantSkuListReq req);

    void delete(Integer id);

    void addOrUpdate(RecommendSkuResult result) throws BusinessException;

    Map<Integer, RecommendSkuResult> getItemMap(Set<Integer> idSet);

    Map<Integer, RecommendSkuResult> getItemMap();

    public void deleteBySkuId(Integer id);

    public void addBySkuIds(List<Integer> skuIds, Integer cityId) throws BusinessException;

    void changSort(List<Integer> skuIds, Integer cityId) throws BusinessException;

}